The present invention relates generally to a manufacturing system for electronic products, and more particularly to continuous production of electronic circuit boards incorporating programmable integrated circuits.
In the past, certain operations of electronic circuit board assembly were performed away from the main production assembly lines. While various feeder machines and robotic handling systems would populate electronic circuit boards with integrated circuits, the operations related to processing integrated circuits, such as programming, testing, calibration, and measurement were performed in separate areas on separate equipment rather than being integrated into the main production assembly lines.
For example, in the programming of programmable devices such as electrically erasable programmable read-only memories (EEPROMs) and Flash EEPROMs, separate programming equipment was used which was often located in a separate area from the circuit board assembly lines. There were a number of reasons why programming was done off-line.
First, the programming equipment was relatively large and bulky. This was because of the need to accurately insert and remove programmable devices at high speeds into and out of programming sockets in the programmer. Since insertion and removal required relatively long traverses at high speed and very precise positioning, very rigid robotic handling equipment was required. This rigidity requirement meant that the various components had to be relatively massive with strong structural support members to maintain structural integrity and precision positioning of the pick and place system moving at high speeds. Due to the size of the programming equipment and the limited space for the even larger assembly equipment, they were located in different areas.
Second, a single high-speed production assembly system could use up programmed devices faster than they could be programmed on a single programming mechanism. This required a number of programmers which were generally operated for longer periods of time in order to have a reserve of programmed devices for the production assembly systems. This meant that the operating times and the input requirements were different between the two systems.
Third, no one had been able to build a single system which could be easily integrated with both the mechanical and electronic portions of the production assembly systems. These systems are complex and generally require a great deal of costly engineering time to make changes to incorporate additional equipment.
A major problem associated with programming the programmable devices in a separate area and then bringing the programmed devices into the production assembly area to be inserted into the electronic circuit boards was that it was difficult to have two separate processes running in different areas and to coordinate between the two separate systems. Often, the production assembly line would run out of programmable devices and the entire production assembly line would have to be shut down. At other times, the programming equipment would be used to program a sufficient inventory of programmed devices to assure that the production assembly line would not be shut down; however, this increased inventory costs. Further problems were created when the programming had to be changed and there was a large inventory of programmed integrated circuits on hand. In this situation, the inventory of programmable devices would have to be reprogrammed with an accompanying waste of time and money.
While it was apparent that a better system would be desirable, there appeared to be no way of truly improving the situation. There were a number of apparently insurmountable problems that stood in the way of improvement.
First, the operating speeds of current production assembly lines so greatly exceeded the programming speed capability of conventional programmers that the programmer would have to have a much greater throughput than thought to be possible with conventional systems.
Second, not only must the programmer be faster than existing programmers, it would also have to be much smaller. The ideal system would integrate into a production assembly line, but would do so without disturbing an existing production assembly line or requiring the lengthening of a new production assembly line over that of the length without the ideal system. Further, most of these production assembly lines were already filled with, or designed to be filled with, various types of feeding and handling modules which provide limited room for any additional equipment.
Third, any programmer tied into the production assembly line would have to also tie into the electronic feeders of the production assembly. This would require integration of any control software with the production system software for communication and scheduling purposes. This would be a problem because production assembly line system software was not only complex, but also confidential and/or proprietary to the manufacturers of those systems. This meant that the integration must be done with the cooperation of the manufacturers, who were reluctant to spend engineering effort on anything but improving their own systems, or must be done with a lot of engineering effort expended on understanding the manufacturers"" software before working on the programmer""s control software.
Fourth, the mechanical interface between a programmer and the production equipment needed to be highly accurate for placing programmed devices relative to the pick-and-place handling equipment of the production assembly system.
Fifth, there are a large number of different manufacturers of production handling quipment as well as production manufacturing equipment. This means that the a large number of different production assembly line configurations would have to be studied and major compromises in design required for different manufacturers.
Sixth, the ideal system would allow for changing quickly between different micro devices having different configurations and sizes.
Seventh, the ideal system needed to be able to accommodate a number of different micro device feeding mechanisms including tape, tape stacker, tube, tube stacker, and tape and reel.
Finally, there was a need to be able to quickly reject micro devices which failed during the programming.
All the above problems seem to render an effective solution impossible with the major problem being that the current state of this technology was such that it was not possible for programming equipment to keep up with the production line. Basically, it takes time to program an electronic device. A solution has been long sought for increasing the throughput of the integrated circuit programming systems.
The present invention provides a programmer system with significantly increased throughput. The system solves most of the problems previously occurring with the speed/throughput capability of conventional programmer systems while being optimized to provide efficient operation of the overall system.
The present invention provides a programmer system with a multiple number of sockets for programming a multiple number of micro devices simultaneously. Thus, the programming throughput can be increased significantly.
The present invention further provides a buffer circuit for a programmer system that is designed to program a number of different micro devices. The buffer circuit provides a plurality of logic levels suitable to drive different micro devices during programming.
The present invention further provides a method for programming a programmable micro device using a processor such that the processor address and data are used to supply the address and data required by the micro device. Instead of using a special bus cycle, the present invention uses the standard bus cycle from a processor for programming. Thus, the programming speed and the programming throughput are increased significantly.
The present invention still further provides a data compare circuit and a method for verifying data programmed by a programmer in a plurality of programmed micro devices using a single read-back operation. Thus, the programming speed and the programming throughput for a programmer that performs multi-device programming can be increased significantly.
The present invention further provides a processing mechanism which includes a processor for generating address signals, data signals and control signals; a pin driver module coupled to the processor; a backplane module coupled to the pin driver module; and at least one socket coupled to the backplane module. The at least one socket is used for placement of the unprocessed micro devices. The pin driver module routes the address signals, data signals and control signals to the backplane module, and provides a first plurality of voltages to the buffer circuit. The backplane module routes the address signals, data signals and control signals to the at least one socket, and provides a second plurality of voltages to the at least one socket. The programming mechanism substantially solves the throughput problem previously facing such systems.
The present invention further provides a buffer circuit for a processing mechanism capable of processing unprocessed micro devices into processed micro devices. The processing mechanism includes a processor for generating control data signals and processing data signals and for receiving device data signals; a voltage reference source for providing a voltage reference, and a VCC1 voltage supply for providing a VCC1 voltage; and at least one socket for placement of the unprocessed micro devices. The buffer circuit includes a digitalto-analog converter (DAC) coupled to the processor and the voltage reference source; an amplifier coupled to the DAC; and a level-shifting translating buffer coupled to the amplifer, the processor, the VCC1 voltage supply, and the socket for transferring processing data signals from the processor to the unprocessed micro devices and for transferring the device data signals from the processed micro devices to the processor. The DAC is responsive to the control data signals and the voltage reference to generate a first variable DC voltage. The amplifier is responsive to the first variable DC voltage to generate a second variable DC voltage. The level-shifting translating buffer is responsive to the VCC1 voltage and the second variable DC voltage for providing a plurality of logic levels for the device data signals. The buffer circuit substantially solves the throughput problem previously facing processing mechanism such as programmer systems.
The present invention further provides a method for programming a programmable micro device using a processor. The programmable micro device includes a plurality of memory locations for storing data. The memory locations are identified by a respective plurality of addresses. The programmable micro device is coupled to the processor via an address bus, a data bus and a control bus. The method includes the steps of: (a) providing a first address from the processor to the programmable micro device over the address bus; (b) providing a first data correpsonding to the first address from the processor to the programmable micro device over the data bus; and (c) providing a first control signal from the processor to the programmable micro device over the control bus to enable the programmable micro device to accept the first data from the processor at a memory location identified by the first address in the programmable micro device. The programming method substantially solves the throughput problem previously facing programmer systems.
The present invention further provides a programming mechanism capable of programming unprogrammed micro devices into programmed micro devices. The programmed micro devices having a plurality of memory locations for storing data. The plurality of memory locations is identified by a respective plurality of addresses. The programming mechanism includes a plurality of sockets for placement of processed micro devices; a plurality of data buffer/registers, wherein each of the plurality of data buffer/registers is coupled to a respective one of the plurality of sockets for receiving a first data stored in a first address in each of the programmed micro devices; a plurality of compare circuits, wherein each of the plurality of compare circuits has a first input and a second input and one output, and wherein the first input of each of the plurality of compare circuits is coupled to a respective one of the data buffer/registers for receiving the first data; an expected data register coupled to the second input of each of the respective plurality of compare circuits for providing a first expected data; a processor bus; and a processor coupled to the output of each of the plurality of compare circuits over the processor bus, wherein each of the compare circuits provides a first logic level at the output if the first data matches with the first expected data, and provides a second logic level at the output if the first data does not match with the first expected data. The programming mechanism substantially solves the throughput problem previously facing programmer systems.
The above and additional advantages of the present invention will become apparent to those skilled in the art from a reading of the following detailed description when taken in conjunction with the accompanying drawings.